home *** CD-ROM | disk | FTP | other *** search
/ Trading on the Edge / Trading On The Edge - CD-ROM Toolkit (Wayzata Technology)(2031)(1994).bin / pc / mac_file / vendor_d / neuralwa / nw2v50 / bkpfast.nnc < prev    next >
Text File  |  1993-08-23  |  3KB  |  72 lines

  1. csv3.1        !file format is Control Strategy Version 3.1
  2. ! Dec-88  (bckfast.nnc)  Fast Back Propagation Network
  3. !************************************************************************
  4. !*                                    *
  5. !*    Fast Back Propagation Network Control Strategy            *
  6. !*    Similar to backprop except that calculated error is        *
  7. !*    added to output prior to delta weight calculation.        *
  8. !*    Suggested by Tariq Samad of Honeywell SSDC, 1000 Boone Ave. N.,    *
  9. !*    Golden Valley, MN 55427.  See abstract from INNS 1988        *
  10. !*    conference proceedings.                        *
  11. !*                                    *
  12. !************************************************************************
  13. !
  14. !MASK     label    op-code    operands    comment
  15. L_saR_sa    trace    aux3            ! set trace option to aux3
  16. L_saR_sa    optset    op:bknc            ! back prop to Input PEs
  17. Li_aR_sa    cset    recall,1        ! recall count
  18. !
  19. ! Get input (learn and recall) and desired output (learn only)
  20. !
  21. L_saR_sa    lset    in            !  input layer
  22. L___R_sa    io    read            !  get input data (recall)
  23. L_saR___    io    lrnin            !  get input data (learn)
  24. !
  25. ! Start with the first layer for a forward pass through network
  26. !
  27. L_saR_sa    lset    in            ! input layer
  28. ! Do summation separately to allow projective layers, and recurrence
  29. L_saR_sa @rloop math    sum|fire
  30. L___R_sa    math    rnoise|tran|output|e=0
  31. L_saR___    math    lnoise|tran|output|e=0|fire
  32. L_saR_sa    lset    cur,1            ! next layer
  33. L_saR_sa    lcmp    out            ! at output layer ?
  34. L_saR_sa    blt    @rloop            ! loop till done
  35. !
  36. ! We are now at the output layer.
  37. !
  38. ! Compute final outputs
  39. L___R_sa     math    sum|rnoise|tran|output|fire
  40. L___R_sa    io    write
  41. L_saR___     math    sum|lnoise|tran|output|fire
  42. L_saR___    io    lrnrslt
  43. !
  44. ! Get desired output and compute error
  45. L___R_sa    io    rcltst        ! get desired output (test)
  46. L___R_sa    math    e-=w
  47. L___R_sa    math    ce=e        ! current error for instruments
  48. L_saR___    io    lrnout        ! get desired output (learn)
  49. L_saR___    math    e-=w|e*=ef|fire
  50. !
  51. ! Learn cycle - back propagate error.  Store unscaled error in
  52. ! current error field.
  53. ! Modify output of processing elements with error
  54. !
  55. L_saR___    math    ce=e|e*=f'|backp|fire    ! process output layer
  56. L_saR___    br    @skip            ! skip regression
  57. L_saR___ @loopa    math    ce=e|e*=f'|backp|fire    ! scale error & back prop
  58. L_saR___    math    regress|fire        ! add error to tran
  59. L_saR___    math    output|fire        ! update output
  60. L_saR___ @skip    lset    cur,-1            ! previous layer
  61. L_saR___    lcmp    in            ! at input layer ?
  62. L_saR___    bgt    @loopa            ! loop till done
  63. L_saR___    lset    out            ! set output layer
  64. !
  65. ! Update weights with "corrected" outputs
  66. !
  67. L_saR___ @loopb    math    learn|fire        ! learn based on updated outputs
  68. L_saR___    lset    cur,-1            ! previous layer
  69. L_saR___    lcmp    in            ! at input layer ?
  70. L_saR___    bgt    @loopb            ! loop till done
  71. LisaRisa    trace    0            ! turn off any trace function
  72.